package com.jy.rhin.infra.cda;


import com.jy.rhin.valid.AbsValid;
import com.jy.rhin.valid.NoneValid;

import java.lang.annotation.*;

/**
   * @Author 姚俊
   * @Date 2023/2/23 14:29
   * @Description CDA文档字段校验
   */
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.FIELD})
public @interface XValid {

    String type() default "none";    //dataElement:数据元类型 node:文档字段类型 none不验证
    Class<? extends AbsValid>[] nodeValidator() default {NoneValid.class};  //文档字段校验器
    EDataElement dataElement() default EDataElement.NONE;   //数据元标识符枚举
    boolean nullable() default false; //是否可为空
}
